home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / atm_tcp.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  76 lines

  1. /* atm_tcp.h - Driver-specific declarations of the ATMTCP driver (for use by
  2.            driver-specific utilities) */
  3.  
  4. /* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */
  5.  
  6.  
  7. #ifndef LINUX_ATM_TCP_H
  8. #define LINUX_ATM_TCP_H
  9.  
  10. #include <linux/atmapi.h>
  11.  
  12. #ifdef __KERNEL__
  13. #include <linux/types.h>
  14. #endif
  15. #include <linux/atmioc.h>
  16.  
  17.  
  18. /*
  19.  * All values in struct atmtcp_hdr are in network byte order
  20.  */
  21.  
  22. struct atmtcp_hdr {
  23.     uint16_t    vpi;
  24.     uint16_t    vci;
  25.     uint32_t    length;        /* ... of data part */
  26. };
  27.  
  28. /*
  29.  * All values in struct atmtcp_command are in host byte order
  30.  */
  31.  
  32. #define ATMTCP_HDR_MAGIC    (~0)    /* this length indicates a command */
  33. #define ATMTCP_CTRL_OPEN    1    /* request/reply */
  34. #define ATMTCP_CTRL_CLOSE    2    /* request/reply */
  35.  
  36. struct atmtcp_control {
  37.     struct atmtcp_hdr hdr;    /* must be first */
  38.     int type;        /* message type; both directions */
  39.     atm_kptr_t vcc;        /* both directions */
  40.     struct sockaddr_atmpvc addr; /* suggested value from kernel */
  41.     struct atm_qos    qos;    /* both directions */
  42.     int result;        /* to kernel only */
  43. } __ATM_API_ALIGN;
  44.  
  45. /*
  46.  * Field usage:
  47.  * Messge type    dir.    hdr.v?i    type    addr    qos    vcc    result
  48.  * -----------  ----    ------- ----    ----    ---    ---    ------
  49.  * OPEN        K->D    Y    Y    Y    Y    Y    0
  50.  * OPEN        D->K    -    Y    Y    Y    Y    Y
  51.  * CLOSE    K->D    -    -    Y    -    Y    0
  52.  * CLOSE    D->K    -    -    -    -    Y    Y
  53.  */
  54.  
  55. #define SIOCSIFATMTCP    _IO('a',ATMIOC_ITF)    /* set ATMTCP mode */
  56. #define ATMTCP_CREATE    _IO('a',ATMIOC_ITF+14)    /* create persistent ATMTCP
  57.                            interface */
  58. #define ATMTCP_REMOVE    _IO('a',ATMIOC_ITF+15)    /* destroy persistent ATMTCP
  59.                            interface */
  60.  
  61.  
  62. #ifdef __KERNEL__
  63.  
  64. struct atm_tcp_ops {
  65.     int (*attach)(struct atm_vcc *vcc,int itf);
  66.     int (*create_persistent)(int itf);
  67.     int (*remove_persistent)(int itf);
  68.     struct module *owner;
  69. };
  70.  
  71. extern struct atm_tcp_ops atm_tcp_ops;
  72.  
  73. #endif
  74.  
  75. #endif
  76.